#import "SceneDelegate.h"
#import "ZBDTabBarController.h"
#import "CoreNewFeatureVC.h"
#import "AppDelegate.h"
@interface SceneDelegate ()

@end

@implementation SceneDelegate


- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
    
    UIWindowScene *windowScene = (UIWindowScene *)scene;
    self.window = [[UIWindow alloc] initWithWindowScene:windowScene];
    self.window.backgroundColor = [UIColor whiteColor];
    self.window.frame = [UIScreen mainScreen].bounds;
    IQKeyboardManager *manager = [IQKeyboardManager sharedManager];
    manager.enable = YES; // 控制整个功能是否启用。
    manager.shouldResignOnTouchOutside =YES; // 控制点击背景是否收起键盘
    //    manager.shouldToolbarUsesTextFieldTintColor =NO; // 控制键盘上的工具条文字颜色是否用户自定义
    manager.enableAutoToolbar =YES; // 控制是否显示键盘上的工具条
    //    manager.toolbarManageBehaviour =IQAutoToolbarByTag;
    [[IQKeyboardManager sharedManager] setToolbarManageBehaviour:IQAutoToolbarByPosition];
    //判断是否需要显示：（内部已经考虑版本及本地版本缓存）
        BOOL canShow = [CoreNewFeatureVC canShowNewFeature];
    ZBDTabBarController * mainTab = [[ZBDTabBarController alloc]init];
   // self.window.rootViewController =mainTab;
    if(canShow){
         NewFeatureModel *m1 = [NewFeatureModel model:[UIImage imageNamed:@"f1.png"]];
         NewFeatureModel *m2 = [NewFeatureModel model:[UIImage imageNamed:@"f2.png"]];
         NewFeatureModel *m3 = [NewFeatureModel model:[UIImage imageNamed:@"f3.png"]];

         if (KIsIPhoneX) {
             self.window.rootViewController = [CoreNewFeatureVC newFeatureVCWithModels:@[ [NewFeatureModel model:[UIImage imageNamed:@"x1.png"]], [NewFeatureModel model:[UIImage imageNamed:@"x2.png"]], [NewFeatureModel model:[UIImage imageNamed:@"x3.png"]],] enterBlock:^{
                 NSLog(@"进入主页面");
                [[AppDelegate shareAppdelegate] getVersion];
                self.window.rootViewController = [[ZBDTabBarController alloc] init];
             }];
         }else{
             self.window.rootViewController = [CoreNewFeatureVC newFeatureVCWithModels:@[m1,m2,m3] enterBlock:^{
                 NSLog(@"进入主页面");
                 [[AppDelegate shareAppdelegate] getVersion];

       self.window.rootViewController = [[ZBDTabBarController alloc] init];

             }];
         }
        

     }else{

         self.window.rootViewController = [[ZBDTabBarController alloc] init];
        [[AppDelegate shareAppdelegate] getVersion];
     }
   
    [self.window makeKeyAndVisible];
    /*适配iOS11*/
    [UITableView appearance].estimatedRowHeight = 10;
    [UITableView appearance].estimatedSectionHeaderHeight = 0;
    [UITableView appearance].estimatedSectionFooterHeight = 0;
    if (@available(iOS 11.0, *)){
        [[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
    }
}



- (void)sceneDidDisconnect:(UIScene *)scene {
    // Called as the scene is being released by the system.
    // This occurs shortly after the scene enters the background, or when its session is discarded.
    // Release any resources associated with this scene that can be re-created the next time the scene connects.
    // The scene may re-connect later, as its session was not neccessarily discarded (see `application:didDiscardSceneSessions` instead).
}


- (void)sceneDidBecomeActive:(UIScene *)scene {
    // Called when the scene has moved from an inactive state to an active state.
    // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
}


- (void)sceneWillResignActive:(UIScene *)scene {
    // Called when the scene will move from an active state to an inactive state.
    // This may occur due to temporary interruptions (ex. an incoming phone call).
}


- (void)sceneWillEnterForeground:(UIScene *)scene {
    // Called as the scene transitions from the background to the foreground.
    // Use this method to undo the changes made on entering the background.
}


- (void)sceneDidEnterBackground:(UIScene *)scene {
    // Called as the scene transitions from the foreground to the background.
    // Use this method to save data, release shared resources, and store enough scene-specific state information
    // to restore the scene back to its current state.
}


@end
